# -*- coding: utf-8 -*-
# @Time     :2021/9/24 11:37
# @Author   : master
# @Software : PyCharm


import time
import pytest
import yaml
from appium import webdriver
from Common.BasePage import BasePage
from Common.dir_config import caps_dir
from PageObjects.Common_Bus import CommonBus


@pytest.fixture
def startAPP():
    # 准备服务器参数，与appium server进行连接。noreset = True
    driver = baseDriver()
    # 1、欢迎页面处理
    CommonBus(driver).do_welcome()
    # 2、判断当前登录状态
    # 3、如果已登录，先退出


@pytest.fixture()                   # 除登录外，通用的前置条件
def loginAPP():
    # 准备服务器参数，与appium server进行连接。noReset=True
    driver = baseDriver()
    # 1、要不要判断欢迎页面是否存在
    CommonBus(driver).do_welcome()
    # 2、判断是否是已登陆状态，若没有登录，则进行登录操作
    # 是否有设置手势密码的框，不设置


def get_loginStatus(driver):
    '''获取当前APP的登录状态'''
    try:
        # 等待5秒
        pass
    except BaseException:
        pass


def baseDriver(server_port, noReset=None, automationName=None, **kwargs):
    '''读取默认配置数据'''
    fs = open(caps_dir + '/desired_caps.yaml')
    desired_caps = yaml.load(fs, Loader=yaml.FullLoader)
    # 调整参数
    if noReset is not None:
        desired_caps['noRest'] = noReset
    if automationName is not None:
        desired_caps["automationName"] = automationName
    # 返回一个启动对象 - driver
    return webdriver.Remote(
        'http://127.0.0.1: {} /wd/hub'.format(server_port),
        desired_caps)
